package c_007;

/**
 * 在下面这个例子中,m1和m2其实锁定的是同一个对象
 * 这种情况还会发生比较诡异的现象,比如用到一个类库,在该类库中代码锁定了字符串"Hello"
 * 但是你读不到源码,在自己的代码里面也锁定了"Hello",这时候就有可能发生飞铲诡异的死锁阻塞
 * 因为你的程序和你用的类库不经意间使用了同一把锁
 */
public class T05 {

    String s1 = "Hello";
    String s2 = "Hello";

    void m1(){
        synchronized (s1)
        {}
    }

    void m2(){
        synchronized (s2){

        }
    }

    public static void main(String[] args) {

    }
}
